<template>
    <el-container>
        <el-header>
            <AppMenu />
        </el-header>
        <el-main>
            <router-view />
        </el-main>
        <el-footer>
            <AppCopyright />
        </el-footer>
    </el-container>
</template>

<script setup>
import AppMenu from './components/AppMenu.vue'
import AppCopyright from './components/AppCopyright.vue'
</script>

<style scoped>
/* 设置全局样式，确保页面无默认边距 */
body, html {
    margin: 0;
    padding: 0;
    height: 100%;
    overflow: hidden; /* 防止页面整体滚动 */
}
/* 在全局样式中添加 */
* {
    box-sizing: border-box;
}
/* 防止特定元素导致滚动 */
.no-scroll {
    overflow: hidden !important;
}

.el-container {
    height: 98vh; /* 精确设置为视口高度 */
    display: flex;
    flex-direction: column;
    overflow: hidden; /* 禁止容器出现滚动条 */
}

.el-header {
    height: 60px;
    line-height: 60px;
    flex-shrink: 0; /* 防止header被压缩 */
    background-color: #fff; /* 添加背景色，确保header可见 */
}

.el-main {
    padding: 20px;
    flex: 1; /* 主要内容区域自动填充剩余空间 */
    overflow-y: auto; /* 只在main区域允许垂直滚动 */
    overflow-x: hidden; /* 禁止水平滚动 */
    box-sizing: border-box; /* 确保padding不会增加整体宽度 */
}

.el-footer {
    background-color: #333;
    color: #fff;
    text-align: center;
    flex-shrink: 0; /* 防止footer被压缩 */
    padding: 5px 0; /* 添加内边距，使内容更美观 */
}

.el-footer p {
    display: inline-block; /* 修改为内联块元素，避免浮动带来的布局问题 */
    height: 20px;
    line-height: 20px;
    margin: 0 5px;
    color: #939393;
}

.el-footer a {
    display: inline-block;
    text-decoration: none;
    height: 20px;
    line-height: 20px;
    color: #fff; /* 添加链接颜色，确保可见 */
}

/* 确保router-view内部内容不会导致溢出 */
.router-view-container {
    min-height: 100%;
    box-sizing: border-box;
}
</style>